﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using fideeraSoft.DAO;
using fideeraSoft.DAOimpl;
using fideeraSoft.Entities;

namespace fideeraSoft.BO
{
    public class MateriaPrima_X_LoteBO
    {
        
        MateriaPrima_X_LoteDAO matPrimaXLoteDao;
        
        public MateriaPrima_X_LoteBO()
        {
            matPrimaXLoteDao = new MateriaPrima_X_LoteDAOSQLimpl();
        }

        public void altaMateriaPrima_X_Lote(MateriaPrima materiaPrima,Lote lote,int idMatPrimaXLote)
        {
            this.matPrimaXLoteDao.altaMateriaPrima_X_Lote(materiaPrima,lote,idMatPrimaXLote);
        }

        public int buscarNuevoUltimoIdMateriaPrimaXLoteEnBD()
        {
            return this.matPrimaXLoteDao.buscarNuevoUltimoIdMateriaPrimaXLoteEnBD();
        }



        public void eliminarMateriaPrimasXLotesPorId(int id)
        {
            this.matPrimaXLoteDao.eliminarMateriaPrimasXLotesPorId(id);
        }

        public List<MateriaPrimaXLotes> buscarListaMateriasPrimasXLotesPorID(int id)
        {
            return this.matPrimaXLoteDao.buscarListaMateriasPrimasXLotesPorID(id);
        }

        public List<MateriaPrimaXLotes> buscarListaMateriasPrimasXLoteConCantidad()
        {
            return this.matPrimaXLoteDao.BuscarListaMateriasPrimasXLoteConCantidad();
        }

        public void updateCantidadesMateriaPrimaXLote(MateriaPrimaXLotes matPrimaXLote)
        {
            this.matPrimaXLoteDao.updateCantidadesMateriaPrimaXLote(matPrimaXLote);
        }

        public MateriaPrimaXLotes buscarMateriaPrimaXLotePorIdMatYLote(MateriaPrima matPrima)
        {
            return this.matPrimaXLoteDao.buscarMateriaPrimaXLotePorIdMatYLote(matPrima);
        }

        public double obtenerCantidadTotalMateriaPrima_X_LotePorId(string idMatPrima)
        {
            return this.matPrimaXLoteDao.obtenerCantidadTotalMateriaPrima_X_LotePorId(idMatPrima);
        }

        public void eliminarTodasLasMateriasPrimasXLotesEnDb()
        {
            this.matPrimaXLoteDao.eliminarTodasLasMateriasPrimasXLotesEnDb();
        }
    }
}
